home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / u_man / cat1 / X11 / bitmap.z / bitmap
Encoding:
Text File  |  2002-10-03  |  40.3 KB  |  859 lines

  1.  
  2.  
  3.  
  4.      BBBBIIIITTTTMMMMAAAAPPPP((((1111))))          XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....6666))))           BBBBIIIITTTTMMMMAAAAPPPP((((1111))))
  5.  
  6.  
  7.  
  8.      NNNNAAAAMMMMEEEE
  9.           bitmap, bmtoa, atobm - bitmap editor and converter utilities
  10.           for the X Window System
  11.  
  12.      SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.           bbbbiiiittttmmmmaaaapppp [ -_o_p_t_i_o_n_s ... ] [ _f_i_l_e_n_a_m_e ] [ _b_a_s_e_n_a_m_e ]
  14.  
  15.           bbbbmmmmttttooooaaaa [ ----cccchhhhaaaarrrrssss ... ] [ _f_i_l_e_n_a_m_e ]
  16.  
  17.           aaaattttoooobbbbmmmm [ ----cccchhhhaaaarrrrssss _c_c ] [ ----nnnnaaaammmmeeee _v_a_r_i_a_b_l_e ] [ ----xxxxhhhhooootttt _n_u_m_b_e_r ] [
  18.           ----yyyyhhhhooootttt _n_u_m_b_e_r ] [ _f_i_l_e_n_a_m_e ]
  19.  
  20.      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  21.           The _b_i_t_m_a_p program is a rudimentary tool for creating or
  22.           editing rectangular images made up of 1's and 0's.  Bitmaps
  23.           are used in X for defining clipping regions, cursor shapes,
  24.           icon shapes, and tile and stipple patterns.
  25.  
  26.           The _b_m_t_o_a and _a_t_o_b_m filters convert _b_i_t_m_a_p files (FILE
  27.           FORMAT) to and from ASCII strings.  They are most commonly
  28.           used to quickly print out bitmaps and to generate versions
  29.           for including in text.
  30.  
  31.      CCCCOOOOMMMMMMMMAAAANNNNDDDD LLLLIIIINNNNEEEE OOOOPPPPTTTTIIIIOOOONNNNSSSS
  32.           _B_i_t_m_a_p supports the standard X Toolkit command line
  33.           arguments (see _X(1)).  The following additional arguments
  34.           are supported as well.
  35.  
  36.           ----ssssiiiizzzzeeee _W_I_D_T_H_x_H_E_I_G_H_T
  37.               Specifies size of the grid in squares.
  38.  
  39.           ----sssswwww _d_i_m_e_n_s_i_o_n
  40.               Specifies the width of squares in pixels.
  41.  
  42.           ----sssshhhh _d_i_m_e_n_s_i_o_n
  43.               Specifies the height of squares in pixels.
  44.  
  45.           ----ggggtttt _d_i_m_e_n_s_i_o_n
  46.               Grid tolerance.  If the square dimensions fall below the
  47.               specified value, grid will be automatically turned off.
  48.  
  49.           ----ggggrrrriiiidddd,,,, ++++ggggrrrriiiidddd
  50.               Turns on or off the grid lines.
  51.  
  52.           ----aaaaxxxxeeeessss,,,, ++++aaaaxxxxeeeessss
  53.               Turns on or off the major axes.
  54.  
  55.           ----ddddaaaasssshhhheeeedddd,,,, ++++ddddaaaasssshhhheeeedddd
  56.               Turns on or off dashing for the frame and grid lines.
  57.  
  58.           ----ssssttttiiiipppppppplllleeeedddd,,,, ++++ssssttttiiiipppppppplllleeeedddd
  59.               Turns on or off stippling of highlighted squares.
  60.  
  61.  
  62.  
  63.      Page 1                                          (printed 10/3/02)
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      BBBBIIIITTTTMMMMAAAAPPPP((((1111))))          XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....6666))))           BBBBIIIITTTTMMMMAAAAPPPP((((1111))))
  71.  
  72.  
  73.  
  74.           ----pppprrrrooooppppoooorrrrttttiiiioooonnnnaaaallll,,,, ++++pppprrrrooooppppoooorrrrttttiiiioooonnnnaaaallll
  75.               Turns proportional mode on or off.  If proportional mode
  76.               is on, square width is equal to square height.  If
  77.               proportional mode is off, _b_i_t_m_a_p will use the smaller
  78.               square dimension, if they were initially different.
  79.  
  80.           ----ddddaaaasssshhhheeeessss _f_i_l_e_n_a_m_e
  81.               Specifies the bitmap to be used as a stipple for
  82.               dashing.
  83.  
  84.           ----ssssttttiiiipppppppplllleeee _f_i_l_e_n_a_m_e
  85.               Specifies the bitmap to be used as a stipple for
  86.               highlighting.
  87.  
  88.           ----hhhhllll _c_o_l_o_r
  89.               Specifies the color used for highlighting.
  90.  
  91.           ----ffffrrrr _c_o_l_o_r
  92.               Specifies the color used for the frame and grid lines.
  93.  
  94.           ffffiiiilllleeeennnnaaaammmmeeee
  95.               Specifies the bitmap to be initially loaded into the
  96.               program. If the file does not exist, _b_i_t_m_a_p will assume
  97.               it is a new file.
  98.  
  99.           bbbbaaaasssseeeennnnaaaammmmeeee
  100.               Specifies the basename to be used in the C code output
  101.               file. If it is different than the basename in the
  102.               working file, _b_i_t_m_a_p will change it when saving the
  103.               file.
  104.  
  105.           _B_m_t_o_a accepts the following option:
  106.  
  107.           ----cccchhhhaaaarrrrssss _c_c
  108.               This option specifies the pair of characters to use in
  109.               the string version of the bitmap.  The first character
  110.               is used for 0 bits and the second character is used for
  111.               1 bits.  The default is to use dashes (-) for 0's and
  112.               sharp signs (#) for 1's.
  113.  
  114.           _A_t_o_b_m accepts the following options:
  115.  
  116.           ----cccchhhhaaaarrrrssss _c_c
  117.               This option specifies the pair of characters to use when
  118.               converting string bitmaps into arrays of numbers.  The
  119.               first character represents a 0 bit and the second
  120.               character represents a 1 bit.  The default is to use
  121.               dashes (-) for 0's and sharp signs (#) for 1's.
  122.  
  123.           ----nnnnaaaammmmeeee _v_a_r_i_a_b_l_e
  124.               This option specifies the variable name to be used when
  125.               writing out the bitmap file.  The default is to use the
  126.  
  127.  
  128.  
  129.      Page 2                                          (printed 10/3/02)
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.      BBBBIIIITTTTMMMMAAAAPPPP((((1111))))          XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....6666))))           BBBBIIIITTTTMMMMAAAAPPPP((((1111))))
  137.  
  138.  
  139.  
  140.               basename of the _f_i_l_e_n_a_m_e command line argument or leave
  141.               it blank if the standard input is read.
  142.  
  143.           ----xxxxhhhhooootttt _n_u_m_b_e_r
  144.               This option specifies the X coordinate of the hotspot.
  145.               Only positive values are allowed.  By default, no
  146.               hotspot information is included.
  147.  
  148.           ----yyyyhhhhooootttt _n_u_m_b_e_r
  149.               This option specifies the Y coordinate of the hotspot.
  150.               Only positive values are allowed.  By default, no
  151.               hotspot information is included.
  152.  
  153.      UUUUSSSSAAAAGGGGEEEE
  154.           _B_i_t_m_a_p displays grid in which each square represents a
  155.           single bit in the picture being edited.  Actual size of the
  156.           bitmap image, as it would appear normaly and inverted, can
  157.           be obtained by pressing MMMMeeeettttaaaa----IIII key.  You are free to move
  158.           the image popup out of the way to continue editing.
  159.           Pressing the left mouse button in the popup window or MMMMeeeettttaaaa----IIII
  160.           again will remove the real size bitmap image.
  161.  
  162.           If the bitmap is to be used for defining a cursor, one of
  163.           the squares in the images may be designated as the hot spot.
  164.           This determines where the cursor is actually pointing.  For
  165.           cursors with sharp tips (such as arrows or fingers), this is
  166.           usually at the end of the tip; for symmetric cursors (such
  167.           as crosses or bullseyes), this is usually at the center.
  168.  
  169.           Bitmaps are stored as small C code fragments suitable for
  170.           including in applications.  They provide an array of bits as
  171.           well as symbolic constants giving the width, height, and hot
  172.           spot (if specified) that may be used in creating cursors,
  173.           icons, and tiles.
  174.  
  175.      EEEEDDDDIIIITTTTIIIINNNNGGGG
  176.           To edit a bitmap image simply click on one of the buttons
  177.           with drawing commands (PPPPooooiiiinnnntttt,,,, CCCCuuuurrrrvvvveeee,,,, LLLLiiiinnnneeee,,,, RRRReeeeccccttttaaaannnngggglllleeee,,,, etc.)
  178.           and move the pointer into the bitmap grid  window.  Press
  179.           one of the buttons on your mouse and the appropriate action
  180.           will take place.  You can either set, clear or invert the
  181.           gird squares.  Setting a grid square corresponds to setting
  182.           a bit in the bitmap image to 1.  Clearing a grid square
  183.           corresponds to setting a bit in the bitmap image to 0.
  184.           Inverting a grid square corresponds to changing a bit in the
  185.           bitmap image from 0 to 1 or 1 to 0, depending what its
  186.           previous state was. The default behavior of mouse buttons is
  187.           as specified below.
  188.  
  189.                     MouseButton1        Set
  190.                     MouseButton2        Invert
  191.                     MouseButton3        Clear
  192.  
  193.  
  194.  
  195.      Page 3                                          (printed 10/3/02)
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.      BBBBIIIITTTTMMMMAAAAPPPP((((1111))))          XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....6666))))           BBBBIIIITTTTMMMMAAAAPPPP((((1111))))
  203.  
  204.  
  205.  
  206.                     MouseButton4        Clear
  207.                     MouseButton5        Clear
  208.  
  209.           This default behavior can be changed by setting the button
  210.           function resources.  An example is provided below.
  211.  
  212.                     bitmap*button1Function: Set
  213.                     bitmap*button2Function: Clear
  214.                     bitmap*button3Function: Invert
  215.                     etc.
  216.  
  217.           The button function applies to all drawing commands,
  218.           including copying, moving and pasting, flood filling and
  219.           setting the hot spot.
  220.  
  221.      DDDDRRRRAAAAWWWWIIIINNNNGGGG CCCCOOOOMMMMMMMMAAAANNNNDDDDSSSS
  222.           Here is the list of drawing commands accessible through the
  223.           buttons at the left side of the application's window.  Some
  224.           commands can be aborted by pressing A inside the bitmap
  225.           window, allowing the user to select different guiding points
  226.           where applicable.
  227.  
  228.           CCCClllleeeeaaaarrrr
  229.               This command clears all bits in the bitmap image.  The
  230.               grid squares will be set to the background color.
  231.               Pressing C inside the bitmap window has the same effect.
  232.  
  233.           SSSSeeeetttt This command sets all bits in the bitmap image.  The
  234.               grid squares will be set to the foreground color.
  235.               Pressing S inside the bitmap window has the same effect.
  236.  
  237.           IIIInnnnvvvveeeerrrrtttt
  238.               This command inverts all bits in the bitmap image.  The
  239.               grid squares will be inverted appropriately.  Pressing I
  240.               inside the bitmap window has the same effect.
  241.  
  242.           MMMMaaaarrrrkkkk
  243.               This command is used to mark an area of the grid by
  244.               dragging out a rectangular shape in the highlighting
  245.               color.  Once the area is marked, it can be operated on
  246.               by a number of commands (see UUUUpppp,,,, DDDDoooowwwwnnnn,,,, LLLLeeeefffftttt,,,, RRRRiiiigggghhhhtttt,,,,
  247.               RRRRoooottttaaaatttteeee,,,, FFFFlllliiiipppp,,,, CCCCuuuutttt,,,, etc.)  Only one marked area can be
  248.               present at any time.  If you attempt to mark another
  249.               area, the old mark will vanish.  The same effect can be
  250.               achieved by pressing SSSShhhhiiiifffftttt----MMMMoooouuuusssseeeeBBBBuuuuttttttttoooonnnn1111 and dragging out
  251.               a rectangle in the grid window.  Pressing SSSShhhhiiiifffftttt----
  252.               MMMMoooouuuusssseeeeBBBBuuuuttttttttoooonnnn2222 will mark the entire grid area.
  253.  
  254.           UUUUnnnnmmmmaaaarrrrkkkk
  255.               This command will cause the marked area to vanish.  The
  256.               same effect can be achieved by pressing SSSShhhhiiiifffftttt----
  257.               MMMMoooouuuusssseeeeBBBBuuuuttttttttoooonnnn3333.
  258.  
  259.  
  260.  
  261.      Page 4                                          (printed 10/3/02)
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.      BBBBIIIITTTTMMMMAAAAPPPP((((1111))))          XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....6666))))           BBBBIIIITTTTMMMMAAAAPPPP((((1111))))
  269.  
  270.  
  271.  
  272.           CCCCooooppppyyyy
  273.               This command is used to copy an area of the grid from
  274.               one location to another.  If there is no marked grid
  275.               area displayed, CCCCooooppppyyyy behaves just like MMMMaaaarrrrkkkk described
  276.               above.  Once there is a marked grid area displayed in
  277.               the highlighting color, this command has two alternative
  278.               behaviors.  If you click a mouse button inside the
  279.               marked area, you will be able to drag the rectangle that
  280.               represents the marked area to the desired location.
  281.               After you release the mouse button, the area will be
  282.               copied.  If you click outside the marked area, CCCCooooppppyyyy will
  283.               assume that you wish to mark a different region of the
  284.               bitmap image, thus it will behave like MMMMaaaarrrrkkkk again.
  285.  
  286.           MMMMoooovvvveeee
  287.               This command is used to move an area of the grid from
  288.               one location to another.  Its behavior resembles the
  289.               behavior of CCCCooooppppyyyy command, except that the marked area
  290.               will be moved instead of copied.
  291.  
  292.           FFFFlllliiiipppp HHHHoooorrrriiiizzzzoooonnnnttttaaaallllllllyyyy
  293.               This command will flip the bitmap image with respect to
  294.               the horizontal axes.  If a marked area of the grid is
  295.               highlighted, it will operate only inside the marked
  296.               area.  Pressing H inside the bitmap window has the same
  297.               effect.
  298.  
  299.           UUUUpppp  This command moves the bitmap image one pixel up.  If a
  300.               marked area of the grid is highlighted, it will operate
  301.               only inside the marked area.  Pressing UpArrow inside
  302.               the bitmap window has the same effect.
  303.  
  304.           FFFFlllliiiipppp VVVVeeeerrrrttttiiiiccccaaaallllllllyyyy
  305.               This command will flip the bitmap image with respect to
  306.               the vertical axes.  If a marked area of the grid is
  307.               highlighted, it will operate only inside the marked
  308.               area.  Pressing V inside the bitmap window has the same
  309.               effect.
  310.  
  311.           LLLLeeeefffftttt
  312.               This command moves the bitmap image one pixel to the
  313.               left.  If a marked area of the grid is highlighted, it
  314.               will operate only inside the marked area.  Pressing
  315.               LeftArrow inside the bitmap window has the same effect.
  316.  
  317.           FFFFoooolllldddd
  318.               This command will fold the bitmap image so that the
  319.               opposite corners become adjacent.  This is useful when
  320.               creating bitmap images for tiling.  Pressing F inside
  321.               the bitmap window has the same effect.
  322.  
  323.           RRRRiiiigggghhhhtttt
  324.  
  325.  
  326.  
  327.      Page 5                                          (printed 10/3/02)
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.      BBBBIIIITTTTMMMMAAAAPPPP((((1111))))          XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....6666))))           BBBBIIIITTTTMMMMAAAAPPPP((((1111))))
  335.  
  336.  
  337.  
  338.               This command moves the bitmap image one pixel to the
  339.               right.  If a marked area of the grid is highlighted, it
  340.               will operate only inside the marked area.  Pressing
  341.               RightArrow inside the bitmap window has the same effect.
  342.  
  343.           RRRRoooottttaaaatttteeee LLLLeeeefffftttt
  344.               This command rotates the bitmap image 90 degrees to the
  345.               left (counter clockwise.)  If a marked area of the grid
  346.               is highlighted, it will operate only inside the marked
  347.               area.  Pressing L inside the bitmap window has the same
  348.               effect.
  349.  
  350.           DDDDoooowwwwnnnn
  351.               This command moves the bitmap image one pixel down.  If
  352.               a marked area of the grid is highlighted, it will
  353.               operate only inside the marked area.  Pressing DownArrow
  354.               inside the bitmap window has the same effect.
  355.  
  356.           RRRRoooottttaaaatttteeee RRRRiiiigggghhhhtttt
  357.               This command rotates the bitmap image 90 degrees to the
  358.               right (clockwise.)  If a marked area of the grid is
  359.               highlighted, it will operate only inside the marked
  360.               area.  Pressing R inside the bitmap window has the same
  361.               effect.
  362.  
  363.           PPPPooooiiiinnnntttt
  364.               This command will change the grid squares underneath the
  365.               mouse pointer if a mouse button is being pressed down.
  366.               If you drag the mouse button continuously, the line may
  367.               not be continuous, depending on the speed of your system
  368.               and frequency of mouse motion events.
  369.  
  370.           CCCCuuuurrrrvvvveeee
  371.               This command will change the grid squares underneath the
  372.               mouse pointer if a mouse button is being pressed down.
  373.               If you drag the mouse button continuously, it will make
  374.               sure that the line is continuous.  If your system is
  375.               slow or _b_i_t_m_a_p receives very few mouse motion events, it
  376.               might behave quite strangely.
  377.  
  378.           LLLLiiiinnnneeee
  379.               This command will change the gird squares in a line
  380.               between two squares.  Once you press a mouse button in
  381.               the grid window, _b_i_t_m_a_p will highlight the line from the
  382.               square where the mouse button was initially pressed to
  383.               the square where the mouse pointer is located.  By
  384.               releasing the mouse button you will cause the change to
  385.               take effect, and the highlighted line will disappear.
  386.  
  387.           RRRReeeeccccttttaaaannnngggglllleeee
  388.               This command will change the gird squares in a rectangle
  389.               between two squares.  Once you press a mouse button in
  390.  
  391.  
  392.  
  393.      Page 6                                          (printed 10/3/02)
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.      BBBBIIIITTTTMMMMAAAAPPPP((((1111))))          XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....6666))))           BBBBIIIITTTTMMMMAAAAPPPP((((1111))))
  401.  
  402.  
  403.  
  404.               the grid window, _b_i_t_m_a_p will highlight the rectangle
  405.               from the square where the mouse button was initially
  406.               pressed to the square where the mouse pointer is
  407.               located.  By releasing the mouse button you will cause
  408.               the change to take effect, and the highlighted rectangle
  409.               will disappear.
  410.  
  411.           FFFFiiiilllllllleeeedddd RRRReeeeccccttttaaaannnngggglllleeee
  412.               This command is identical to RRRReeeeccccttttaaaannnngggglllleeee, except at the
  413.               end the rectangle will be filled rather than outlined.
  414.  
  415.           CCCCiiiirrrrcccclllleeee
  416.               This command will change the gird squares in a circle
  417.               between two squares.  Once you press a mouse button in
  418.               the grid window, _b_i_t_m_a_p will highlight the circle from
  419.               the square where the mouse button was initially pressed
  420.               to the square where the mouse pointer is located.  By
  421.               releasing the mouse button you will cause the change to
  422.               take effect, and the highlighted circle will disappear.
  423.  
  424.           FFFFiiiilllllllleeeedddd CCCCiiiirrrrcccclllleeee
  425.               This command is identical to CCCCiiiirrrrcccclllleeee, except at the end
  426.               the circle will be filled rather than outlined.
  427.  
  428.           FFFFlllloooooooodddd FFFFiiiillllllll
  429.               This command will flood fill the connected area
  430.               underneath the mouse pointer when you click on the
  431.               desired square.  Diagonally adjacent squares are not
  432.               considered to be connected.
  433.  
  434.           SSSSeeeetttt HHHHooootttt SSSSppppooootttt
  435.               This command designates one square in the grid as the
  436.               hot spot if this bitmap image is to be used for defining
  437.               a cursor.  Pressing a mouse button in the desired square
  438.               will cause a diamond shape to be displayed.
  439.  
  440.           CCCClllleeeeaaaarrrr HHHHooootttt SSSSppppooootttt
  441.               This command removes any designated hot spot from the
  442.               bitmap image.
  443.  
  444.           UUUUnnnnddddoooo
  445.               This command will undo the last executed command.  It
  446.               has depth one, that is, pressing UUUUnnnnddddoooo after UUUUnnnnddddoooo will
  447.               undo itself.
  448.  
  449.      FFFFIIIILLLLEEEE MMMMEEEENNNNUUUU
  450.           The File menu commands can be accessed by pressing the File
  451.           button and selecting the appropriate menu entry, or by
  452.           pressing Ctrl key with another key.  These commands deal
  453.           with files and global bitmap parameters, such as size,
  454.           basename, filename etc.
  455.  
  456.  
  457.  
  458.  
  459.      Page 7                                          (printed 10/3/02)
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.      BBBBIIIITTTTMMMMAAAAPPPP((((1111))))          XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....6666))))           BBBBIIIITTTTMMMMAAAAPPPP((((1111))))
  467.  
  468.  
  469.  
  470.           NNNNeeeewwww This command will clear the editing area and prompt for
  471.               the name of the new file to be edited.  It will not load
  472.               in the new file.
  473.  
  474.           LLLLooooaaaadddd
  475.               This command is used to load a new bitmap file into the
  476.               bitmap editor.  If the current image has not been saved,
  477.               user will be asked whether to save or ignore the
  478.               changes.  The editor can edit only one file at a time.
  479.               If you need interactive editing, run a number of editors
  480.               and use cut and paste mechanism as described below.
  481.  
  482.           IIIInnnnsssseeeerrrrtttt
  483.               This command is used to insert a bitmap file into the
  484.               image being currently edited.  After being prompted for
  485.               the filename, click inside the grid window and drag the
  486.               outlined rectangle to the location where you want to
  487.               insert the new file.
  488.  
  489.           SSSSaaaavvvveeee
  490.               This command will save the bitmap image.  It will not
  491.               prompt for the filename unless it is said to be <none>.
  492.               If you leave the filename undesignated or -, the output
  493.               will be piped to stdout.
  494.  
  495.           SSSSaaaavvvveeee AAAAssss
  496.               This command will save the bitmap image after prompting
  497.               for a new filename.  It should be used if you want to
  498.               change the filename.
  499.  
  500.           RRRReeeessssiiiizzzzeeee
  501.               This command is used to resize the editing area to the
  502.               new number of pixels.  The size should be entered in the
  503.               WIDTHxHEIGHT format.  The information in the image being
  504.               edited will not be lost unless the new size is smaller
  505.               that the current image size. The editor was not designed
  506.               to edit huge files.
  507.  
  508.           RRRReeeessssccccaaaalllleeee
  509.               This command is used to rescale the editing area to the
  510.               new width and height.  The size should be entered in the
  511.               WIDTHxHEIGHT format.  It will not do antialiasing and
  512.               information will be lost if you rescale to the smaller
  513.               sizes.  Feel free to add you own algorithms for better
  514.               rescaling.
  515.  
  516.           FFFFiiiilllleeeennnnaaaammmmeeee
  517.               This command is used to change the filename without
  518.               changing the basename nor saving the file.  If you
  519.               specify - for a filename, the output will be piped to
  520.               stdout.
  521.  
  522.  
  523.  
  524.  
  525.      Page 8                                          (printed 10/3/02)
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.      BBBBIIIITTTTMMMMAAAAPPPP((((1111))))          XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....6666))))           BBBBIIIITTTTMMMMAAAAPPPP((((1111))))
  533.  
  534.  
  535.  
  536.           BBBBaaaasssseeeennnnaaaammmmeeee
  537.               This command is used to change the basename, if a
  538.               different one from the specified filename is desired.
  539.  
  540.           QQQQuuuuiiiitttt
  541.               This command will terminate the bitmap application.  If
  542.               the file was not saved, user will be prompted and asked
  543.               whether to save the image or not.  This command is
  544.               preferred over killing the process.
  545.  
  546.      EEEEDDDDIIIITTTT MMMMEEEENNNNUUUU
  547.           The Edit menu commands can be accessed by pressing the Edit
  548.           button and selecting the appropriate menu entry, or by
  549.           pressing Meta key with another key.  These commands deal
  550.           with editing facilities such as grid, axes, zooming, cut and
  551.           paste, etc.
  552.  
  553.           IIIImmmmaaaaggggeeee
  554.               This command will display the image being edited and its
  555.               inverse in its actual size in a separate window.  The
  556.               window can be moved away to continue with editing.
  557.               Pressing the left mouse button in the image window will
  558.               cause it to disappear from the screen.
  559.  
  560.           GGGGrrrriiiidddd
  561.               This command controls the grid in the editing area.  If
  562.               the grid spacing is below the value specified by
  563.               gridTolerance resource (8 by default), the grid will be
  564.               automatically turned off.  It can be enforced by
  565.               explicitly activating this command.
  566.  
  567.           DDDDaaaasssshhhheeeedddd
  568.               This command controls the stipple for drawing the grid
  569.               lines.  The stipple specified by dashes resource can be
  570.               turned on or off by activating this command.
  571.  
  572.           AAAAxxxxeeeessss
  573.               This command controls the highlighting of the main axes
  574.               of the image being edited.  The actual lines are not
  575.               part of the image.  They are provided to aid user when
  576.               constructing symmetrical images, or whenever having the
  577.               main axes highlighted helps your editing.
  578.  
  579.           SSSSttttiiiipppppppplllleeeedddd
  580.               This command controls the stippling of the highlighted
  581.               areas of the bitmap image.  The stipple specified by
  582.               stipple resource can be turned on or off by activating
  583.               this command.
  584.  
  585.           PPPPrrrrooooppppoooorrrrttttiiiioooonnnnaaaallll
  586.               This command controls the proportional mode.  If the
  587.               proportional mode is on, width and height of all image
  588.  
  589.  
  590.  
  591.      Page 9                                          (printed 10/3/02)
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.      BBBBIIIITTTTMMMMAAAAPPPP((((1111))))          XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....6666))))           BBBBIIIITTTTMMMMAAAAPPPP((((1111))))
  599.  
  600.  
  601.  
  602.               squares are forced to be equal, regardless of the
  603.               proportions of the bitmap window.
  604.  
  605.           ZZZZoooooooommmm
  606.               This command controls the zoom mode.  If there is a
  607.               marked area of the image already displayed, bitmap will
  608.               automatically zoom into it.  Otherwise, user will have
  609.               to highlight an area to be edited in the zoom mode and
  610.               bitmap will automatically switch into it.  One can use
  611.               all the editing commands and other utilities in the zoom
  612.               mode.  When you zoom out, undo command will undo the
  613.               whole zoom session.
  614.  
  615.           CCCCuuuutttt This commands cuts the contents of the highlighted image
  616.               area into the internal cut and paste buffer.
  617.  
  618.           CCCCooooppppyyyy
  619.               This command copies the contents of the highlighted
  620.               image area into the internal cut and paste buffer.
  621.  
  622.           PPPPaaaasssstttteeee
  623.               This command will check if there are any other bitmap
  624.               applications with a highlighted image area, or if there
  625.               is something in the internal cut and paste buffer and
  626.               copy it to the image.  To place the copied image, click
  627.               in the editing window and drag the outlined image to the
  628.               position where you want to place i, and then release the
  629.               button.
  630.  
  631.      CCCCUUUUTTTT AAAANNNNDDDD PPPPAAAASSSSTTTTEEEE
  632.           Bitmap supports two cut and paste mechanisms; the internal
  633.           cut and paste and the global X selection cut and paste.  The
  634.           internal cut and paste is used when executing copy and move
  635.           drawing commands and also cut and copy commands from the
  636.           edit menu.  The global X selection cut and paste is used
  637.           whenever there is a highlighted area of a bitmap image
  638.           displayed anywhere on the screen.  To copy a part of image
  639.           from another bitmap editor simply highlight the desired area
  640.           by using the Mark command or pressing the shift key and
  641.           dragging the area with the left mouse button.  When the
  642.           selected area becomes highlighted, any other applications
  643.           (such as xterm, etc.) that use primary selection will
  644.           discard their selection values and unhighlight the
  645.           appropriate information.  Now, use the Paste command for the
  646.           Edit menu or control mouse button to copy the selected part
  647.           of image into another (or the same) bitmap application.  If
  648.           you attempt to do this without a visible highlighted image
  649.           area, the bitmap will fall back to the internal cut and
  650.           paste buffer and paste whatever was there stored at the
  651.           moment.
  652.  
  653.      WWWWIIIIDDDDGGGGEEEETTTTSSSS
  654.  
  655.  
  656.  
  657.      PPPPaaaaggggeeee 11110000                                         ((((pppprrrriiiinnnntttteeeedddd 11110000////3333////00002222))))
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.      BBBBIIIITTTTMMMMAAAAPPPP((((1111))))          XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....6666))))           BBBBIIIITTTTMMMMAAAAPPPP((((1111))))
  665.  
  666.  
  667.  
  668.           Below is the widget structure of the _b_i_t_m_a_p application.
  669.           Indentation indicates hierarchical structure.  The widget
  670.           class name is given first, followed by the widget instance
  671.           name.  All widgets except the bitmap widget are from the
  672.           standard Athena widget set.
  673.  
  674.                Bitmap bitmap
  675.                     TransientShell image
  676.                          Box box
  677.                               Label normalImage
  678.                               Label invertedImage
  679.                     TransientShell input
  680.                          Dialog dialog
  681.                               Command okay
  682.                               Command cancel
  683.                     TransientShell error
  684.                          Dialog dialog
  685.                               Command abort
  686.                               Command retry
  687.                     TransientShell qsave
  688.                          Dialog dialog
  689.                               Command yes
  690.                               Command no
  691.                               Command cancel
  692.                     Paned parent
  693.                          Form formy
  694.                               MenuButton fileButton
  695.                               SimpleMenu fileMenu
  696.                                    SmeBSB  new
  697.                                    SmeBSB  load
  698.                                    SmeBSB  insert
  699.                                    SmeBSB  save
  700.                                    SmeBSB  saveAs
  701.                                    SmeBSB  resize
  702.                                    SmeBSB  rescale
  703.                                    SmeBSB  filename
  704.                                    SmeBSB  basename
  705.                                    SmeLine line
  706.                                    SmeBSB  quit
  707.                               MenuButton editButton
  708.                               SimpleMenu editMenu
  709.                                    SmeBSB  image
  710.                                    SmeBSB  grid
  711.                                    SmeBSB  dashed
  712.                                    SmeBSB  axes
  713.                                    SmeBSB  stippled
  714.                                    SmeBSB  proportional
  715.                                    SmeBSB  zoom
  716.                                    SmeLine line
  717.                                    SmeBSB  cut
  718.                                    SmeBSB  copy
  719.                                    SmeBSB  paste
  720.  
  721.  
  722.  
  723.      Page 11                                         (printed 10/3/02)
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.      BBBBIIIITTTTMMMMAAAAPPPP((((1111))))          XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....6666))))           BBBBIIIITTTTMMMMAAAAPPPP((((1111))))
  731.  
  732.  
  733.  
  734.                               Label status
  735.                          Pane pane
  736.                               Bitmap bitmap
  737.                               Form form
  738.                                    Command clear
  739.                                    Command set
  740.                                    Command invert
  741.                                    Toggle  mark
  742.                                    Command unmark
  743.                                    Toggle  copy
  744.                                    Toggle  move
  745.                                    Command flipHoriz
  746.                                    Command up
  747.                                    Command flipVert
  748.                                    Command left
  749.                                    Command fold
  750.                                    Command right
  751.                                    Command rotateLeft
  752.                                    Command down
  753.                                    Command rotateRight
  754.                                    Toggle  point
  755.                                    Toggle  curve
  756.                                    Toggle  line
  757.                                    Toggle  rectangle
  758.                                    Toggle  filledRectangle
  759.                                    Toggle  circle
  760.                                    Toggle  filledCircle
  761.                                    Toggle  floodFill
  762.                                    Toggle  setHotSpot
  763.                                    Command clearHotSpot
  764.                                    Command undo
  765.  
  766.      CCCCOOOOLLLLOOOORRRRSSSS
  767.           If you would like bitmap to be viewable in color, include
  768.           the following in the #ifdef COLOR section of the file you
  769.           read with xrdb:
  770.  
  771.           *customization:                 -color
  772.  
  773.           This will cause bitmap to pick up the colors in the app-
  774.           defaults color customization file:
  775.  
  776.               <XRoot>/lib/X11/app-defaults/Bitmap-color
  777.  
  778.           where <XRoot> refers to the root of the X11 install tree.
  779.  
  780.      BBBBIIIITTTTMMMMAAAAPPPP WWWWIIIIDDDDGGGGEEEETTTT
  781.           Bitmap widget is a stand-alone widget for editing raster
  782.           images.  It is not designed to edit large images, although
  783.           it may be used in that purpose as well.  It can be freely
  784.           incorporated with other applications and used as a standard
  785.           editing tool.  The following are the resources provided by
  786.  
  787.  
  788.  
  789.      Page 12                                         (printed 10/3/02)
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.      BBBBIIIITTTTMMMMAAAAPPPP((((1111))))          XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....6666))))           BBBBIIIITTTTMMMMAAAAPPPP((((1111))))
  797.  
  798.  
  799.  
  800.           the bitmap widget.
  801.  
  802.           Bitmap Widget
  803.  
  804.           Header file         Bitmap.h
  805.           Class               bitmapWidgetClass
  806.           Class Name          Bitmap
  807.           Superclass          Bitmap
  808.  
  809.  
  810.           All the Simple Widget resources plus ...
  811.  
  812.           Name            Class           Type            Default Value
  813.  
  814.           foreground      Foreground      Pixel           XtDefaultForeground
  815.           highlight       Highlight       Pixel           XtDefaultForeground
  816.           framing         Framing         Pixel           XtDefaultForeground
  817.           gridTolerance   GridTolerance   Dimension       8
  818.           size            Size            String          32x32
  819.           dashed          Dashed          Boolean         True
  820.           grid            Grid            Boolean         True
  821.           stippled        Stippled        Boolean         True
  822.           proportional    Proportional    Boolean         True
  823.           axes            Axes            Boolean         False
  824.           squareWidth     SquareWidth     Dimension       16
  825.           squareHeight    SquareHeight    Dimension       16
  826.           margin          Margin          Dimension       16
  827.           xHot            XHot            Position        NotSet (-1)
  828.           yHot            YHot            Position        NotSet (-1)
  829.           button1Function Button1Function DrawingFunction Set
  830.           button2Function Button2Function DrawingFunction Invert
  831.           button3Function Button3Function DrawingFunction Clear
  832.           button4Function Button4Function DrawingFunction Invert
  833.           button5Function Button5Function DrawingFunction Invert
  834.           filename        Filename        String          None ("")
  835.           basename        Basename        String          None ("")
  836.  
  837.  
  838.      AAAAUUUUTTTTHHHHOOOORRRR
  839.           Davor Matic, MIT X Consortium
  840.  
  841.  
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854.  
  855.      Page 13                                         (printed 10/3/02)
  856.  
  857.  
  858.  
  859.